﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Drawing;
using TMDT_Nhom1A.DTO;
using TMDT_Nhom1A.BUS;
using TMDT_Nhom1A.DAO;
using System.Web.Services;
using TMDT_Nhom1A.utils;

namespace TMDT_Nhom1A
{
    public partial class DangKy : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                drlCity.Items.Add(new ListItem("Hà Nội", "Hà Nội"));
                drlCity.Items.Add(new ListItem("Hải Phòng", "Hải Phòng"));
                drlCity.Items.Add(new ListItem("Nam Định", "Nam Định"));
                drlCity.Items.Add(new ListItem("Tp Vinh", "Tp Vinh"));
                drlCity.Items.Add(new ListItem("Đà Nẵng", "Đà Nẵng"));
                drlCity.Items.Add(new ListItem("Quãng Ngãi", "Quãng Ngãi"));
                drlCity.Items.Add(new ListItem("Quy Nhơn", "Quy Nhơn"));
                drlCity.Items.Add(new ListItem("Tp Hồ Chí Minh", "Tp Hồ Chí Minh"));
                
            }
        }

        [WebMethod]
        public static bool IsUserAvailable(string username)
        {
            MyMembershipProvider myMembership = new MyMembershipProvider();
            bool kq = myMembership.GetUser(username);

            if (kq == true)
            {
                return false;
            }
            else
            {
                return true;
            }


        }

        protected void btregistry_Click(object sender, EventArgs e)
        {
            try
            {
                Customer_DTO User = new Customer_DTO();
                User.NameCompany = tbnamecompany.Text;
                User.AddressCompany = tbaddresscompany.Text + ", " + drlCity.SelectedItem.Value;
                User.TaxCode = tbnumebertax.Text;
                User.UserName = txtUsername.Text;
                User.Password = txtPassword.Text;
                User.NamePresentation = txtHo.Text + " " + txtTen.Text;
                User.Role = tbrole.Text;
                User.DateRegistry = DateTime.Now.Date;
                User.Email = txtEmail.Text;
                User.Phone = txtdienthoai.Text;
                User.Mobile = txtdidong.Text;
                

                if (IsUserAvailable(txtUsername.Text))
                {
                    if (txtCaptcha.Text.Equals(Session["captcha"].ToString(), StringComparison.OrdinalIgnoreCase))
                    {
                        string uid = "";
                        bool kq = Customer_BUS.RegistryAccount(User,ref uid);

                        if (kq == true)
                        {
                            //lay full path tren host
                            string path = "";
                            HttpContext context = HttpContext.Current;
                            path = String.Format("{0}://{1}/", context.Request.Url.Scheme, context.Request.Url.Host);

                            bool result = utils.User.sendMail(txtEmail.Text,txtUsername.Text,txtPassword.Text,path,uid);
                            if (result == true)
                            {
                                divRegistry.Visible = false;
                                divInformation.Visible = true;
                                lbThongbao.Text = "Đăng kí thành công. Một email được gửi đến cho bạn. Vui lòng check mail để kích hoạt tài khoản";
                                lbThongbao.ForeColor = Color.Blue;
                            }
                            else
                            {
                                divRegistry.Visible = false;
                                divInformation.Visible = true;
                                lbThongbao.Text = "Đăng kí thành công. Nhưng gửi mail kích hoạt không thành công";
                                lbThongbao.ForeColor = Color.Blue;
                            }
                        }
                        else
                        {
                            divInformation.Visible = true;
                            lbThongbao.Text = "Đăng kí thất bại";
                            lbThongbao.ForeColor = Color.Red;
                        }
                        lblMessage.Text = "";
                    }
                    else
                        lblMessage.Text = "Vui lòng nhập đúng chuỗi xác nhận";
                }
                else
                {
                    lblMessage.Text = "Username này đã tồn tại";
                }

            }
            catch (Exception)
            {
                lblMessage.Text = "Gặp sự cố trong việc kết nối cơ sở dữ liệu";
            }
        }
    }
}
